﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MWRCommunicationLibrary.ARS408
{
    public class Out_Object_3_Extended : MWRData
    {
        public override int DefaultCanID
        {
            get
            {
                return 0x60D;
            }
        }
        public override int Length
        {
            get
            {
                return 8;
            }
        }

        [ParamDecodor(0, 8)]
        public int ID { get; set; }

        [ParamDecodor(21, 11, 0.01, -10)]
        public double ArelLong { get; set; }

        [ParamDecodor(24, 3)]
        public int Class { get; set; }

        [ParamDecodor(28, 9, 0.01, -2.50)]
        public double ArelLat { get; set; }

        /// <summary>
        /// Orientation angle of the object (see: figure 3 - picture 
        /// above); the change of an angle created by turning
        /// movement of a tracked obstacle over time.The
        /// creation of that value always starts at “0” and increases
        /// depending on a certain rotation of the obstacle.It keeps
        /// “0” if a rotation does not happen.
        /// </summary>
        [ParamDecodor(46, 10, 0.4, -180)]
        public double OrientationAngle { get; set; }

        [ParamDecodor(48, 8, 0.2, 0)]
        public double Length { get; set; }

        [ParamDecodor(56, 8, 0.2, 0)]
        public double Width { get; set; }
    }
}
